home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MPW Related / MPW Interfaces / CIncludes / Serial.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-17  |  2.1 KB  |  99 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Serial.h
  3.  
  4.     Copyright:    © 1983-1993 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Version:    System 7.1 for ETO #11
  8.     Created:    Tuesday, March 30, 1993 18:00
  9.  
  10. */
  11.  
  12. #ifndef __SERIAL__
  13. #define __SERIAL__
  14.  
  15. #ifndef __TYPES__
  16. #include <Types.h>
  17. #endif
  18.  
  19.  
  20. enum {
  21.  
  22.     baud300 = 380,
  23.     baud600 = 189,
  24.     baud1200 = 94,
  25.     baud1800 = 62,
  26.     baud2400 = 46,
  27.     baud3600 = 30,
  28.     baud4800 = 22,
  29.     baud7200 = 14,
  30.     baud9600 = 10,
  31.     baud19200 = 4,
  32.     baud57600 = 0,
  33.     stop10 = 16384,
  34.     stop15 = -32768,
  35.     stop20 = -16384,
  36.     noParity = 0,
  37.     oddParity = 4096,
  38.     evenParity = 12288,
  39.     data5 = 0,
  40.     data6 = 2048,
  41.     data7 = 1024
  42. };
  43. enum {
  44.     data8 = 3072,
  45.     ctsEvent = 32,
  46.     breakEvent = 128,
  47.     xOffWasSent = 128,
  48.     dtrNegated = 64,
  49.     ainRefNum = -6,         /*serial port A input*/
  50.     aoutRefNum = -7,        /*serial port A output*/
  51.     binRefNum = -8,         /*serial port B input*/
  52.     boutRefNum = -9         /*serial port B output*/
  53. };
  54.  
  55. enum {sPortA,sPortB};
  56. typedef unsigned char SPortSel;
  57.  
  58.  
  59. struct SerShk {
  60.     char fXOn;              /*XOn flow control enabled flag*/
  61.     char fCTS;              /*CTS flow control enabled flag*/
  62.     unsigned char xOn;      /*XOn character*/
  63.     unsigned char xOff;     /*XOff character*/
  64.     char errs;              /*errors mask bits*/
  65.     char evts;              /*event enable mask bits*/
  66.     char fInX;              /*Input flow control enabled flag*/
  67.     char fDTR;              /*DTR input flow control flag*/
  68. };
  69.  
  70. typedef struct SerShk SerShk;
  71.  
  72. struct SerStaRec {
  73.     char cumErrs;
  74.     char xOffSent;
  75.     char rdPend;
  76.     char wrPend;
  77.     char ctsHold;
  78.     char xOffHold;
  79. };
  80.  
  81. typedef struct SerStaRec SerStaRec;
  82.  
  83.  
  84. #ifdef __cplusplus
  85. extern "C" {
  86. #endif
  87. pascal OSErr SerReset(short refNum,short serConfig); 
  88. pascal OSErr SerSetBuf(short refNum,Ptr serBPtr,short serBLen); 
  89. pascal OSErr SerHShake(short refNum,const SerShk *flags); 
  90. pascal OSErr SerSetBrk(short refNum); 
  91. pascal OSErr SerClrBrk(short refNum); 
  92. pascal OSErr SerGetBuf(short refNum,long *count); 
  93. pascal OSErr SerStatus(short refNum,SerStaRec *serSta); 
  94. #ifdef __cplusplus
  95. }
  96. #endif
  97.  
  98. #endif
  99.